package org.lisy.java.collection;

import java.util.LinkedList;

/**
 * LinkedList
 * 
 * @author lisy
 */
public class LinkedListOperate {

	/**
	 * 特点:
	 * 1. 线程不同步，速度快
	 * 2. 连边结构，适合增加，删除操作
	 * 3. 使用foreach或迭代器遍历，for遍历是n^2
	 */
    public static void main(String[] args) {

        LinkedList<String> list = new LinkedList<>();
        list.addFirst("hello 0");
        list.addFirst("hello 1");
        list.addFirst("hello 2");
        list.addLast("hello 3");

        sop(list);
        sop(list.getFirst());
        sop(list.getLast());
        
        // 压栈
        list.push("hello 4");
        sop(list);
        // 出栈
        list.pop();
        sop(list);
    }

    public static void sop(Object obj) {
        System.out.println(obj);
    }
}
